using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace Kayac
{
	public class FileWriter
	{
		private class Item
		{
			public string path;

			public byte[] bytes;

			public Action<Exception> onComplete;
		}

		[StructLayout((LayoutKind)3)]
		[CompilerGenerated]
		private struct _003CLoadBinaryAsync_003Ed__3 : IAsyncStateMachine
		{
			public int _003C_003E1__state;

			public AsyncVoidMethodBuilder _003C_003Et__builder;

			public string path;

			public Action<byte[], Exception> onComplete;

			private Exception _003Cexception_003E5__2;

			private FileStream _003Cstream_003E5__3;

			private byte[] _003Cbuffer_003E5__4;

			private TaskAwaiter<int> _003C_003Eu__1;

			private void MoveNext()
			{
			}

			void IAsyncStateMachine.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				this.MoveNext();
			}

			[DebuggerHidden]
			private void SetStateMachine(IAsyncStateMachine stateMachine)
			{
			}

			void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine)
			{
				//ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
				this.SetStateMachine(stateMachine);
			}
		}

		[StructLayout((LayoutKind)3)]
		[CompilerGenerated]
		private struct _003CProcess_003Ed__5 : IAsyncStateMachine
		{
			public int _003C_003E1__state;

			public AsyncVoidMethodBuilder _003C_003Et__builder;

			public FileWriter _003C_003E4__this;

			private Item _003Citem_003E5__2;

			private Exception _003Cexception_003E5__3;

			private FileStream _003Cstream_003E5__4;

			private TaskAwaiter _003C_003Eu__1;

			private void MoveNext()
			{
			}

			void IAsyncStateMachine.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				this.MoveNext();
			}

			[DebuggerHidden]
			private void SetStateMachine(IAsyncStateMachine stateMachine)
			{
			}

			void IAsyncStateMachine.SetStateMachine(IAsyncStateMachine stateMachine)
			{
				//ILSpy generated this explicit interface implementation from .override directive in SetStateMachine
				this.SetStateMachine(stateMachine);
			}
		}

		private Queue<Item> queue;

		public void SaveAsync(string path, string text, Action<Exception> onComplete)
		{
		}

		public void SaveAsync(string path, byte[] bytes, Action<Exception> onComplete)
		{
		}

		[AsyncStateMachine(typeof(_003CLoadBinaryAsync_003Ed__3))]
		public static void LoadBinaryAsync(string path, Action<byte[], Exception> onComplete)
		{
		}

		[AsyncStateMachine(typeof(_003CProcess_003Ed__5))]
		private void Process()
		{
		}
	}
}
